package com.shangrila.biz.open.service;

import java.util.List;
import java.util.Set;

import com.shangrila.biz.domain.TaokeItem;
import com.shangrila.biz.open.OpenPlatform;
import com.shangrila.biz.open.TaobaoApiException;
import com.shangrila.biz.open.TaobaoResult;
import com.taobao.api.domain.Item;
import com.taobao.api.domain.ItemProp;


public interface TaobaoPlatform extends OpenPlatform{

	/**
	 * 根据itemId获取宝贝信息，部分信息
	 * @param itemId
	 * @return
	 * @throws TaobaoApiException
	 */
	TaobaoResult<Item> getItem(long itemId) throws TaobaoApiException;
	/**
	 * 批量获取宝贝信息,每次限量20个
	 * @param itemIds
	 * @return
	 * @throws TaobaoApiException
	 */
	TaobaoResult<List<Item>> getItemList(Set<Long>  itemIds) throws TaobaoApiException;
	
	/**
	 *  获取标准商品类目属性 
	 * @param leafCatId 叶子类目
	 * @return
	 * @throws TaobaoApiException
	 */
	TaobaoResult<List<ItemProp>> getPropertyList(long leafCatId)throws TaobaoApiException;
	
	/**
	 * 根据id获取详细的淘客商品信息，该方法致命的缺点：一次只能查10个
	 * @param itemIds
	 * @return
	 * @throws TaobaoApiException
	 */
	TaobaoResult<List<TaokeItem>> getTaokeItemList(Set<Long> itemIds)throws TaobaoApiException;
	/**
	 * 获取详细的淘客折扣商品信息
	 * @return
	 * @throws TaobaoApiException
	 */
	TaobaoResult<List<TaokeItem>> getTaokeItemList(int count,long catId,String q)throws TaobaoApiException;
	/**
	 * 获取商品图片，不限商品id数量，方法内部会进行循环
	 * @param itemIds
	 * @return
	 * @throws TaobaoApiException 
	 */
	List<Item> getItemImages(List<Long> itemIds) throws TaobaoApiException;
}
